這回來介紹這個,本回就打算用最快的方式寫教學,
大概寫一寫比較常用到的東西就好,其他以後再補充
一、新增預存程序
首先在student資料表底下,有個可程式性,再底下有預序程式的目錄
點右鍵 > 新增 > 預存程序
會有以下的程式碼
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 
	-- Add the parameters for the stored procedure here
	<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
	<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
    -- Insert statements for procedure here
	SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
END
GO
架構簡單地說是這樣的:
CREATE PROCEDURE storedProcedure名稱
參數宣告
AS
BEGIN
主程式
END
GO
因此可以改成這麼寫:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE 查詢學生資料
AS
BEGIN
	select [id]
      ,[name]
      ,[sex]
      ,[class]
      ,[Chinese]
      ,[English]
      ,[Math]
  FROM [school].[dbo].[student]
END
GO
就能產生新的stored Procedure
在想要執行的sp按右鍵,執行預存程序
它的執行指令如下
這個語法可以簡化EXEC sp名稱,執行SP但不收回傳值:
EXEC	 [dbo].[查詢學生資料]
二、傳入參數教學
在上個程式加入以這二行再執行:
USE [school]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[查詢學生資料]
	@class char(1)
AS
BEGIN
	select [id]
      ,[name]
      ,[sex]
      ,[class]
      ,[Chinese]
      ,[English]
      ,[Math]
  FROM [school].[dbo].[student] 
  where class = @class
END

執行stored Procedure程式要傳入參數的寫法如下:
EXEC	 [dbo].[查詢學生資料] @class = 'A'
以下是執行後的結果:
因為篇幅(?)有限,今天就教到這邊